package cn.com.code.hwjs;

import java.util.Scanner;

/**
 * 猴子爬山
 * 一天一只顽猴想去从山脚爬到山顶，途中经过一个有个N个台阶的阶梯，但是这猴子有一个习惯： 每一次只能跳1步或跳3步，试问猴子通过这个阶梯有多少种不同的跳跃方式？
 * <p>
 * 输入描述:
 * 输入只有一个整数N（0<N<=50）此阶梯有多少个阶梯
 * 输出描述:
 * 输出有多少种跳跃方式（解决方案数）
 * <p>
 * 示例1：
 * 输入
 * 50
 * 输出
 * 122106097
 * 示例2：
 * 输入
 * 3
 * 输出
 * 2
 *
 * @author zhengpei
 * @date 2022/6/8
 */
public class Hwjs01 {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      int num = sc.nextInt();
      System.out.println(result(num));
    }
  }
  private static int result(int num) {
    if (num == 1 || num == 2) {
      return 1;
    } else if (num == 3) {
      return 2;
    } else {
      return result(num - 3) + result(num - 1);
    }
  }
}
